package staticandfinal;
/**
 * @Author forsake
 * @Description ，创建子类对象，父类的构造方法总是会被执行，父类的先加载，先执行，类加载加载静态方法，加载一次
 * 不继承父类的构造方法，父类的静态代码块 -> 子类的静态代码块 -> 父类代码块 -> 父类无参构造器 -> 子类代码块 ->子类构造器
 * 继承子类的构造方法 父类代码块 -> 父类构造器 -> 子类代码块 ->子类构造器
 * @Date 10:36 2022/12/8
 **/
public class StaticSon extends StaticParent {
    String name;

    public StaticSon(String name) {
        this.name = name;
        System.out.println("son 的有参");
    }

    public StaticSon(String name1, String name) {
        super(name1);
        this.name = name;
        System.out.println("子类的两参");
    }

    public StaticSon() {
        System.out.println("son construct");
    }
    static {
        System.out.println("son static");
    }
    {
        System.out.println("son common");
    }

    public static void main(String[] args) {
        new StaticSon();
        System.out.println("------------");
        new StaticSon();
        System.out.println("------------");
        new StaticSon("fang");
        System.out.println("-------------");
        new StaticSon("f","s");
    }
}
